A network environment that supports business and office environments often includes network devices of various types having different functions and capabilities or network devices of a different generation, examples of which are printers equipped with a network function. As new technologies emerge and new-model or next-generation network devices having improved functionality become more widespread, the functions capable of being used in such networks undergo a major change. However, a situation can arise in which the same network contains a mixture of new printers capable of supporting secure printing and old-type printers that support no secure printing whatsoever. When such a condition exists, the functionality of the overall network cannot be considered to be improved.
It is preferred that new techniques and improvements thereof be implemented across an entire network and that all users of the network be capable of using the same functions with regard to all network devices.
One method of solving this problem is to simply replace all old network devices with new network devices having the desired new functions and capabilities. However, labor and expense involved when this solution is implemented are great and the solution is not realistic in a case where a new enterprising application that requires new functions and capabilities is implemented frequently.
Another method of solving the problem is to download new firmware to each old network device to thereby upgrade the version of the old network device (see the specification of Japanese Patent Application Laid-Open No. 06-214929). With this method, however, the network administrator or service manager must physically access each old network device and download the version of the software that is appropriate for each network device, and this network device must be able to support functions that are harmonized with the new network devices. This requires considerable labor. Further, in many cases an old network device has limitations in terms of hardware or design. As a consequence, there is the possibility that firmware of a new version for implementing new functions cannot be downloaded.
A further method of solving the problem is to use a network module that is connectable to an old network device via an interface and that can support desired additional functions for the old network device. A specific example of such a network module that can be mentioned is an intelligent network-card module that is connectable to a printer via an interface. The network-card module is an intelligent module equipped with its own CPU. A network-card module usually is provided with a print server function that implements overall control of various print services via a network. As a result, a printer and a network-card module communicate with each other via an interface and implement desired services. This makes it possible to shift the heavy burden of functions such as image processing from the printer to the network-card module. As a result, the functions of the CPU of the printer proper and of the peripheral circuits can be diminished in relative terms, thereby lowering the cost of the printer proper.
The network-card module and printer each communicate asynchronously using a network protocol such as TCP/IP with a communication terminal of a host computer or the like, which exists on the network, via a physical interface with which the network-card module is equipped. With the TCP/IP protocol, all terminals on the network are identified uniquely by two addresses, namely a network address (e.g., an IP address), and a specific physical address [e.g., a MAC (Media Access Control) address]. The network address is assigned by the network administrator systematically in conformity with the network configuration. The physical address is a specific address assigned at the time of manufacture of the terminal. In the case mentioned above, the network-card module and the printer use the same network address and the same physical address. This means that, when viewed from another communication terminal on the network, the printer and the network-card module are recognized as a single communication terminal on the network. This makes it possible for a service such as a print server function with which the network-card module is provided to act just as if it were a service added to the printer proper or furnished as an extension. It should be noted that when data is transmitted from any terminal on a network to another terminal, two addresses are required, namely a network address and a physical address of the destination. However, at the moment transmission starts at the terminal that is the source of the transmission, often the physical address of the transmission-destination terminal is unknown. As a consequence, the transmission-source terminal acquires the physical address of the transmission-destination terminal using an ARP (Address Resolution Protocol). The address resolution protocol is a protocol used between communication terminals on a network in order to ascertain, from the network address of the communicating party, the specific physical address that corresponds to this party.
The IETF (Internet Engineering Task Force), which is an Internet standardizing organization, has stipulated address resolution protocol specifications by the “Ethernet Address Resolution Protocol” of RFC826. An overview of address resolution processing according to the address resolution protocol will now be described in brief.
When data is transmitted in accordance with the TCP/IP protocol, the transmission-source communication terminal first searches an address information table within a cache memory using the network address of the other party as a key, investigates whether the physical address corresponding to the network address has been registered and, if the address has been registered, sets the physical address thereof as the destination address of the transmit data. If the corresponding physical address does not exist, the transmission-source communication terminal transmits an address-resolution request message (ARP request), which requests the physical address corresponding to the target network address, to all terminals on the network by broadcast. Upon receiving this address-resolution request message, each terminal on the network determines whether the target network address included in the received address-resolution request message matches the network address that has been assigned to itself and, if a match is found, sends an address-resolution response message (ARP reply), in which its own physical address has been planted, back to the terminal that is the source of transmission of the address-resolution request message. When the terminal that is the transmission source receives the address-resolution response message, the terminal registers, in its own address information table, the corresponding relationship between the network address that has been planted in the address-resolution response message and the physical address and uses this address information when a transmission of data to the relevant terminal is made from this time onward. If in the processing set forth above the target network address included in the received address-resolution request message does not match the network address that has been assigned to itself, then each terminal on the network that has received the address-resolution request message discards the received address-resolution request message and does not send back a reply to the address-resolution request message.
There are instances where a network-card module and a printer are individually equipped independently with an address resolution processor that executes address resolution using the above-described address resolution protocol. There are also instances where these are individually equipped independently with an address information table for registering the corresponding relationship between network address and physical address. Consequently, in a network-card module, for example, if data is transmitted to a client such as a host computer on a network, the module first searches an address information table, with which it itself is provided, using the network address of the client as a key, and attempts address resolution. If the relevant information has not been registered in the address information table, the module transmits an address-resolution request message to all terminals on the network by broadcast. If an address-resolution response message is received from the client in response to the address-resolution request message, then the network-card module registers the corresponding relationship between the network address and the physical address of the client in its own address information table. Similarly, in the printer, if data is transmitted to a client such as a host computer on a network, the printer first searches an address information table, with which it itself is provided and attempts address resolution. If the result is that address resolution has not been acquired, then the printer attempts address resolution by the address-resolution request message. If the address-resolution response message to the address-resolution request message is acquired, then the printer registers the corresponding relationship between the network address and physical address of the client in its own address information table.
In a case where a network-card module and printer each have their own independent, separate address information tables, as mentioned above, even in case of address information that is not stored in an address information table of the printer, there is a possibility that this address information will have been registered in the address information table of the network-card module. In such case the fact that the address-resolution request message generated by the printer will be transmitted by broadcast on the network is undesirable because it increases the line load of the network. Another problem is that address resolution in the printer takes time.
Further, a case is conceivable in which a network-card module and a printer perform address resolution using an address resolution processor provided independently and separately in each and an address information table provided independently and separately in each. In such case the network-card module and printer judge by their own address resolution processors whether an address-resolution request message is destined for their own network address. If the decision is affirmative, the address-resolution response message is transmitted to the transmission source of the address-resolution request message. If the decision is negative, the series of address resolution processing operations that discards the address-resolution request message is executed. Consequently, if an address-resolution request message is destined for their own network addresses, the address-resolution response message is transmitted redundantly from the address resolution processors provided in respective ones of the network-card module and printer. Further, the fact that the network-card module and printer execute address resolution processing redundantly in response to the same address-resolution request message, is undesirable also in terms of the processing efficiency of the overall network.